package org.common.utils.config;

/**
 * 配置管理器
 * @author zhouzhibing
 * @date 2025/6/13
 */
public class ConfigManager {

    /**
     * 配置对象
     */
    private static final ConfigObject CONFIG_OBJECT = new ConfigObject();

    /**
     * 加载配置
     * @param configInfo 配置信息
     * @param packageName 包名
     */
    public static void load(ConfigInfo configInfo, String packageName) {
        CONFIG_OBJECT.load(configInfo, packageName);
    }

    /**
     * 获取配置
     * @param clzss 类
     * @return 配置实体类
     * @param <T> 泛型
     */
    public static <T> T getConfig(Class<T> clzss) {
        return CONFIG_OBJECT.getConfig(clzss);
    }

    /**
     * @return 获取配置字符串
     */
    public static String toJsonString() {
        return CONFIG_OBJECT.toString();
    }

}
